package server.models.tour;

import java.io.Serializable;
import java.rmi.RemoteException;
import java.util.Observable;

import rmi.RemoteObserver;
import rmi.WrappedObserver;
import server.models.tireur.ITireur;

public class Tour extends Observable implements Serializable, ITour {
	private static final long serialVersionUID = 1L;
	private ModeDeTir modeDeTir;
	private ITireur tireurActuel = null;

	public enum ModeDeTir {
		SIMPLE, 
		DOUBLE
	}
	
	public Tour(ModeDeTir modeDeTir) {
		this.modeDeTir = modeDeTir;
	}

	public ModeDeTir getModeDeTir() {
		return modeDeTir;
	}
		
	public ITireur getTireur(){
		return this.tireurActuel;
	}
	public void changeCurrentTireur(ITireur tireur) {
		this.tireurActuel = tireur;
		this.setChanged();
		this.notifyObservers();
	}

	@Override
	public void addObserver(RemoteObserver remoteObserver)
			throws RemoteException {
		this.addObserver(new WrappedObserver(remoteObserver));
		
	}
}
